package SIC.Modele;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

/**
 * Espace de stockage des produits et des compositions
 */
public abstract class Data {

	/**
	 * Liste des produits
	 */
	protected Map<String, Produit> mapProduits = new HashMap<String, Produit>();
	
	/**
	 * Liste de toutes les compositions
	 */
	protected Map<String, Composition> mapCompositions = new HashMap<String, Composition>();

	
	//--------------------------------------------
	//				CONSTRUCTEUR
	//--------------------------------------------
	
	public Data(){}
	
	//--------------------------------------------
	//				POUR L'AFFICHAGE
	//--------------------------------------------
	
	public String toStringCompositions(){
		
		String res = "";
		
		for(Entry<String, Composition> o : mapCompositions.entrySet())
			res += o.getValue().toString() + "\n";

		return  res;
	}

	public String toStringProduits(){
		
		String res = "";
		
		for(Entry<String, Produit> entry : mapProduits.entrySet())
			res += entry.getValue().toString() + "\n";

		return  res;
	}
	
	//--------------------------------------------
	//			   	Initialisation
	//--------------------------------------------
	
	
	public void initData()
	{
		mapProduits = new HashMap<String, Produit>();
		mapCompositions = new HashMap<String, Composition>();
	}
	
	//--------------------------------------------
	//			   		GETTER
	//--------------------------------------------
	
	public Map<String, Produit> getMapProduits() {
		return mapProduits;
	}
	
	public Map<String, Composition> getMapCompositions() {
		return mapCompositions;
	}
	
	public boolean isEmpty(){
		return mapProduits.isEmpty() || mapCompositions.isEmpty();
	}
	
	
}
